﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Modelo
{
    class LopezReggae : Enemigo
    {
        private int ultDirX;
        private int ultDirY;

        public LopezReggae(Posicion posInicial, int tamanio, Mapa mapaCreador)
            : base(posInicial, tamanio, mapaCreador)
        {
            resistencia = 5;            //menos resistencia que el lopez reggae común
            ultDirX = 0;
            ultDirY = 1;
            velActual = 4;                 //va más lento ya que camina por los muros
        }

        public override void movimientoAI()
        {
            Posicion nuevaPos = new Posicion(posicion.getX() + velActual * ultDirX, posicion.getY() + velActual * ultDirY);
           
                 //Genera un random y se mueve hacia allí, no se fija si hay paredes ya que le es indiferente   
            
                ultDirX = new Random().Next(3) - 1;
                if (ultDirX != 0)
                {
                    ultDirX = 0;
                }
                else
                {
                    ultDirY = new Random().Next(2) * 2 - 1;
                    ultDirX = 0;
                }

                mover(ultDirX, ultDirY);
                return;
        }

      
        #region IColisionable Members

        public override void recibirColision(IColisionable elOtro)
        {
            throw new NotImplementedException();
        }

        public override void manejarColisionCon(Bombita elOtro)
        {
            //Llama al manejar colision de bombito para no escribir lo mismo.
            elOtro.manejarColisionCon(this);
        }

        public override void manejarColisionCon(Enemigo elOtro)
        {
            throw new NotImplementedException();
        }

        public override void manejarColisionCon(Habano habano)
        {
            throw new NotImplementedException();
        }

        public override void manejarColisionCon(Timer timer)
        {
            throw new NotImplementedException();
        }

        
        #endregion
    }
}
